ASP.NET Core-এ Model Binding প্রক্রিয়া ব্যবহারকারীর ইনপুট ডেটা (যেমন ফর্ম ডেটা বা URL কুইরি স্ট্রিং) মডেল ক্লাসের প্রপার্টিতে স্বয়ংক্রিয়ভাবে মাপসই করে। Form Data এবং Query String দুটি সাধারণ উপায় যা দিয়ে ডেটা বাইন্ড করা যায়।
Form Data সাধারণত HTTP POST রিকোয়েস্টের মাধ্যমে ফর্ম থেকে পাঠানো হয়। ASP.NET Core-এ, Form Data ব্যবহার করে ডেটা মডেল ক্লাসের প্রপার্টিতে বাইন্ড করা হয়, যা মূলত HTML ফর্মের ইনপুট ফিল্ডগুলির সাথে সম্পর্কিত।
ধরা যাক, আপনার একটি User মডেল রয়েছে এবং আপনি একটি ফর্ম থেকে ব্যবহারকারীর নাম এবং ইমেইল সংগ্রহ করতে চান।
Model:
public class User
{
public string Name { get; set; }
public string Email { get; set; }
}
View (HTML Form):
<form method="post" asp-action="Submit">
<div>
<label for="Name">Name:</label>
<input type="text" id="Name" name="Name" />
</div>
<div>
<label for="Email">Email:</label>
<input type="email" id="Email" name="Email" />
</div>
<button type="submit">Submit</button>
</form>
Controller:
public class UserController : Controller
{
[HttpPost]
public IActionResult Submit(User user)
{
if (ModelState.IsValid)
{
// Form data থেকে ডেটা বাইন্ডিং করা হয়েছে
// user.Name এবং user.Email ব্যবহার করা যেতে পারে
return Content($"Name: {user.Name}, Email: {user.Email}");
}
return View();
}
}
এখানে User
মডেলটি ফর্মের ইনপুট ফিল্ডগুলির সাথে বাইন্ড হয়েছে। যখন ফর্মটি সাবমিট করা হবে, ASP.NET Core স্বয়ংক্রিয়ভাবে ইনপুট ডেটাগুলিকে User
মডেল ক্লাসে মাপসই করবে।
Query String HTTP GET রিকোয়েস্টের অংশ হিসেবে URL-এর পরে পাঠানো ডেটা। Query String ডেটা সাধারণত URL-এ কিওয়ারি-পেয়ারের মাধ্যমে থাকে, যেমন ?id=1&name=John
। ASP.NET Core-এ, আপনি Query String থেকে ডেটা মডেল ক্লাসে বাইন্ড করতে পারেন।
ধরা যাক, আপনাকে URL থেকে id
এবং name
গ্রহণ করতে হবে এবং এই ডেটা মডেল ক্লাসে বাইন্ড করতে হবে।
Model:
public class UserQuery
{
public int Id { get; set; }
public string Name { get; set; }
}
Controller:
public class UserController : Controller
{
[HttpGet]
public IActionResult Search(UserQuery query)
{
if (ModelState.IsValid)
{
// Query string থেকে ডেটা বাইন্ডিং করা হয়েছে
return Content($"Id: {query.Id}, Name: {query.Name}");
}
return View();
}
}
এখানে, যখন আপনি URL এ এমন কিছু রিকোয়েস্ট করবেন:
/User/Search?id=1&name=John
ASP.NET Core স্বয়ংক্রিয়ভাবে Query String থেকে id
এবং name
প্যারামিটারগুলি UserQuery
মডেল ক্লাসের প্রপার্টিতে বাইন্ড করবে।
বৈশিষ্ট্য | Form Data (POST) | Query String (GET) |
---|---|---|
উপস্থিতি | HTTP POST রিকোয়েস্টের মধ্যে থাকে | URL এর পর Query String অংশে থাকে |
ডেটা নিরাপত্তা | ফর্ম ডেটা নিরাপদ, কারণ এটি URL এর বাইরে থাকে | URL-এ থাকা ডেটা সাধারণত দৃশ্যমান থাকে |
ডেটা পরিমাণ | বেশি পরিমাণ ডেটা পাঠানো যেতে পারে | সীমিত পরিমাণ ডেটা পাঠানো যায় |
ব্যবহার | ফর্ম সাবমিটের মাধ্যমে ব্যবহার করা হয় | URL এর মাধ্যমে ডেটা পাঠানো হয় |
ASP.NET Core-এ Form Data এবং Query String উভয়ই ডেটা বাইন্ডিংয়ের জন্য ব্যবহৃত হয়, তবে তাদের ব্যবহারের ক্ষেত্র আলাদা। Form Data সাধারণত POST রিকোয়েস্টে ব্যবহৃত হয় যেখানে বড় এবং সংবেদনশীল ডেটা পাঠানো যায়, আর Query String সাধারণত GET রিকোয়েস্টে ব্যবহৃত হয় যেখানে ছোট পরিমাণের ডেটা পাঠানো হয় এবং এটি URL-এ দৃশ্যমান থাকে। ASP.NET Core-এ এই ডেটাগুলিকে স্বয়ংক্রিয়ভাবে মডেল ক্লাসে বাইন্ড করা যায়, যার ফলে ডেটা প্রাপ্তি এবং ব্যবহারের প্রক্রিয়া সহজ হয়।
common.read_more